$(function () {
    var map = {
        '欢迎界面': 'huanyingye',
        '客户管理': 'kehuziliao',
        '信息管理': 'shuju',
        '保单管理': 'dingdan',
        '见费出单': 'money',
        '理赔管理': 'jiaotongshigu',
        '员工管理': 'kehu',
        '报表管理': 'shuju2',
        '系统管理': 'xitongshezhipx',
    }
    // 刷新 菜单
    $.get('/menu/selectEmployeeMenu.do', function (data) {
        var htmlText = "";
        data.forEach(function (outItem) {
            htmlText += `<li class="sidebar-dropdown">
        <a ><i class="fa iconfont icon-${map[outItem.text] ? map[outItem.text] : map['欢迎界面'] }"></i><span>${outItem.text}</span></a>`
            if (outItem.children) {
                htmlText += `<div class="sidebar-submenu"><ul>`
                outItem.children.forEach(function (item) {
                    htmlText += `<li><a data-url="${item.url}">${item.text}</a></li>`
                })
                htmlText += `</ul></div>`
            }
            htmlText += "</li>"
        })
        // 最后的菜单
        htmlText += `<li><a data-url="/welcome.do"><i class="fa fa-tv"></i><span>欢迎界面</span></a></li>`;
        $("#myTree").html(htmlText);
    })
    // 点击 菜单 打开
    $("#sidebar").on('click', '.sidebar-dropdown > a', function () {
        $(".sidebar-submenu").slideUp(250);
        if ($(this).parent().hasClass("active")) {
            $(".sidebar-dropdown").removeClass("active");
            $(this).parent().removeClass("active");
        } else {
            $(".sidebar-dropdown").removeClass("active");
            $(this).next(".sidebar-submenu").slideDown(250);
            $(this).parent().addClass("active");
        }
    })

    $("#toggle-sidebar").click(function () {
        $(".page-wrapper").toggleClass("toggled");
        var $myTabs = $('#myTabs');
        var sel = $myTabs.tabs('getSelected');
        var index = $myTabs.tabs('getTabIndex', sel);
        setTimeout(function () {
            $myTabs.tabs({
                fit: true
            });
            $myTabs.tabs('select', index);
        }, 300)
    });

    if (!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
        $(".sidebar-content").mCustomScrollbar({
            axis: "y",
            autoHideScrollbar: true,
            scrollInertia: 300
        });
        $(".sidebar-content").addClass("desktop");
    }


    // 默认 打开欢迎
    $('#myTabs').tabs('add', {
        title: '欢迎界面',
        closable: false,
        content: `<iframe src='/welcome.do' height='100%' width='100%' frameborder='0'></iframe>`,
    });

    // 点击 菜单跳转
    $("#sidebar").on('click', 'a[data-url]', function () {
        var $this = $(this);
        var url = $this.data('url');
        var text = $this.text();
        // 判断是否 有 url
        if (!url) return;
        // 判断 之前 的 是否存在
        var tab = $("#myTabs").tabs('exists', text);
        if (tab) {
            $("#myTabs").tabs('close', text);
        }
        // 打开
        $("#myTabs").tabs('add', {
            title: text,
            closable: true,
            content: `<iframe src='${url}' height='100%' width='100%' frameborder='0'></iframe>`,
        });
    });


    //抽取js变量
    var myTabs = $('#myTabs');

    //默认打卡欢迎界面的方法
    function openWelcome() {
        myTabs.tabs('add', {
            title: '欢迎界面',
            closable: false,
            content: `<iframe src='/welcome.do' height='100%' width='100%' frameborder='0'></iframe>`,
        });
    }

    //生成右键菜单
    myTabs.tabs({
        onContextMenu: function (e, title, index) {
            //让默认事件失效
            e.preventDefault();
            //选中选项卡
            myTabs.tabs('select', index);
            //显示右键菜单
            $('#mm').menu('show', {
                left: e.pageX,
                top: e.pageY
            });
            $("#mm").menu({
                onClick: function (item) {
                    closeTab(this, item.name);
                }
            });
        }
    });

    //获取选中的选项卡索引
    var closeTab = function (type, menuName) {
        var tab = myTabs.tabs('getSelected');//被选中的选项卡
        var index = myTabs.tabs('getTabIndex', tab);//被选中的选项卡的索引
        var ts = myTabs.tabs("tabs");//获取所有的选项卡
        var length = ts.length;//总共有多少个选项卡

        //关闭选项卡的方法
        if (menuName == "closeCurrent") {
            if(length == 1){
                myTabs.tabs('update', {
                    tab: tab,
                    options: {
                        closable: false
                    }
                });
                openWelcome();
            }
            myTabs.tabs("close", index);
        } else if (menuName == "closeOthers") {
            //关闭选中选项卡之前的选项卡
            for (var i = 0; i < index; i++) {
                myTabs.tabs("close", 0);
            }
            //关闭选中选项卡之后的选项卡
            for (var i = 0; i < length - index - 1; i++) {
                myTabs.tabs("close", 1);
            }
            myTabs.tabs('update', {
                tab: tab,
                options: {
                    closable: false
                }
            })
        } else if (menuName == "closeAll") {
            for (var i = 0; i < length; i++) {
                myTabs.tabs("close", 0);
            }
            openWelcome();
        }
    };

});

